home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / make / icmake-6.000 / icmake-6 / icmake / exec / funcallr.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-08  |  999 b   |  36 lines

  1. /*
  2. \funcref{fun\_call\_rss}{void fun\_call\_rss ()}
  3.     {}
  4.     {}
  5.     {error(), getopcode()}
  6.     {}
  7.     {funcallr.c}
  8.     {
  9.  
  10.         This function is executed when an {\em op\_call\_rss} opcode is
  11.         encountered in the binary makefile. Following this opcode a function
  12.         index is expected (an {\em char} value), indicating the function number
  13.         to call (see the enumeration type {\em FUNNR\_} in the file {\em
  14.         icrss.h}).
  15.  
  16.         If the index indicates a non-existing function, i.e., when the index
  17.         exceeds or equals {\em f\_hlt}, an error occurs. Else, the indicated
  18.         built in function is called (see the {\em builtinfun} array of function
  19.         pointers, files {\em icm-exec.h} and {\em data.c}).
  20.     }
  21. */
  22.  
  23. #include "icm-exec.h"
  24.  
  25. void fun_call_rss ()
  26. {
  27.     char
  28.         funnr;
  29.  
  30.     funnr = (char) getopcode (infile);
  31.     if (funnr >= f_hlt)
  32.         error ("unexisting rss function call at %s", hexstring (curoffs, 4));
  33.  
  34.     builtinfun [ (int) funnr] ();
  35. }
  36.